package com.tbit.uqbike.webmanager.dao.core;

import com.tbit.uqbike.object.pojo.MachineFeeBound;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 设备计费规则绑定Mapper接口
 *
 * @author jing
 * @date 2021-06-01
 */
public interface MachineFeeBoundDao {
    /**
     * 查询设备计费规则绑定
     *
     * @param boundId 设备计费规则绑定ID
     * @return 设备计费规则绑定
     */
    public MachineFeeBound selectMachineFeeBoundById(Integer boundId);

    /**
     * 查询设备计费规则绑定列表
     *
     * @param machineFeeBound 设备计费规则绑定
     * @return 设备计费规则绑定集合
     */
    public List<MachineFeeBound> selectMachineFeeBoundList(MachineFeeBound machineFeeBound);

    /**
     * 新增设备计费规则绑定
     *
     * @param machineFeeBound 设备计费规则绑定
     * @return 结果
     */
    public int insertMachineFeeBound(MachineFeeBound machineFeeBound);

    /**
     * 新增设备计费规则绑定
     *
     * @param feeBound
     * @param machineFeeBound 设备计费规则绑定
     * @return 结果
     */
    public int batchInsertMachineFeeBound(@Param("feeBound") MachineFeeBound feeBound, @Param("machineFeeBound") List<MachineFeeBound> machineFeeBound);

    /**
     * 修改设备计费规则绑定
     *
     * @param machineFeeBound 设备计费规则绑定
     * @return 结果
     */
    public int updateMachineFeeBound(MachineFeeBound machineFeeBound);

    /**
     * 删除设备计费规则绑定
     *
     * @param boundId 设备计费规则绑定ID
     * @return 结果
     */
    public int deleteMachineFeeBoundById(Integer boundId);

    /**
     * 批量删除设备计费规则绑定
     *
     * @param boundIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteMachineFeeBoundByIds(Integer[] boundIds);

    void deleteByFeeId(Integer[] feeIds);
}
